Package org.netbeans.modules.languages.pl_sql.editor

Source Code of org.netbeans.modules.languages.pl_sql.editor.OracleTopComponent$ResolvableHelper

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package org.netbeans.modules.languages.pl_sql.editor;

import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.io.Serializable;
import java.util.logging.Logger;
import javax.swing.Action;
import javax.swing.ButtonGroup;
import org.netbeans.modules.languages.pl_sql.editor.explorer.nodes.OConnectionRootNode;
import org.netbeans.modules.languages.pl_sql.editor.explorer.nodes.actions.AddAction;
import org.netbeans.modules.languages.pl_sql.editor.explorer.nodes.actions.AllOAccessAction;
import org.netbeans.modules.languages.pl_sql.editor.explorer.nodes.actions.ChangeOAccessCookieInterface;
import org.netbeans.modules.languages.pl_sql.editor.explorer.nodes.actions.DBAOAccessAction;
import org.netbeans.modules.languages.pl_sql.editor.explorer.nodes.actions.DeleteAction;
import org.netbeans.modules.languages.pl_sql.editor.explorer.nodes.actions.RefreshAction;
import org.netbeans.modules.languages.pl_sql.editor.explorer.nodes.actions.UserOAccessAction;
import org.openide.explorer.ExplorerManager;
import org.openide.explorer.ExplorerUtils;
import org.openide.explorer.view.BeanTreeView;
import org.openide.util.HelpCtx;
import org.openide.util.NbBundle;
import org.openide.windows.TopComponent;
import org.openide.windows.WindowManager;
//import org.openide.util.Utilities;

/**
* Top component which displays something.
*/
final class OracleTopComponent extends TopComponent implements ExplorerManager.Provider {

    private static OracleTopComponent instance;
    /** path to the icon used by the component and its open action */
    static final String ICON_PATH = "org/netbeans/modules/languages/pl_sql/editor/resources/Root.png";
    private static final String PREFERRED_ID = "OracleTopComponent";
    private final ExplorerManager mgr = new ExplorerManager();
    private final static String helpCtx = "org.netbeans.modules.languages.pl_sql.editor.mainwindow";

    public ExplorerManager getExplorerManager() {
        return mgr;
    }

    private OracleTopComponent() {
        initComponents();
        org.openide.awt.Actions.connect(AddjButton, (Action) new AddAction());
        org.openide.awt.Actions.connect(DeletejButton, (Action) new DeleteAction());
        org.openide.awt.Actions.connect(RefreshjButton, (Action) new RefreshAction());

        org.openide.awt.Actions.connect(UserjToggleButton, (Action) new UserOAccessAction());
        org.openide.awt.Actions.connect(AlljToggleButton, (Action) new AllOAccessAction());
        org.openide.awt.Actions.connect(DBAjToggleButton, (Action) new DBAOAccessAction());
        // following line tells the top component which lookup should be associated with it
        associateLookup(ExplorerUtils.createLookup(mgr, getActionMap()));
        //((BeanTreeView) DBView).setRootVisible(false);
        mgr.setRootContext(OConnectionRootNode.GetRootNode());

        mgr.addPropertyChangeListener(new PropertyChangeListener() {

            public void propertyChange(PropertyChangeEvent evt) {
                ChangeOAccessCookieInterface cng = getLookup().lookup(ChangeOAccessCookieInterface.class);
                if (cng != null) {
                    switch (cng.getObjectAccessed()) {
                        case User:
                            UserjToggleButton.setSelected(true);
                            break;
                        case All:
                            AlljToggleButton.setSelected(true);
                            break;
                        case DBA:
                            DBAjToggleButton.setSelected(true);
                            break;
                    }
                }
            }
        });
        setName(NbBundle.getMessage(OracleTopComponent.class, "CTL_OracleTopComponent"));
        setToolTipText(NbBundle.getMessage(OracleTopComponent.class, "HINT_OracleTopComponent"));
//        setIcon(Utilities.loadImage(ICON_PATH, true));
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {
        java.awt.GridBagConstraints gridBagConstraints;

        DBjToolBar = new javax.swing.JToolBar();
        AddjButton = new javax.swing.JButton();
        DeletejButton = new javax.swing.JButton();
        RefreshjButton = new javax.swing.JButton();
        DBAjToggleButton = new javax.swing.JToggleButton();
        AlljToggleButton = new javax.swing.JToggleButton();
        UserjToggleButton = new javax.swing.JToggleButton();
        DBView = new BeanTreeView();

        setLayout(new java.awt.GridBagLayout());

        DBjToolBar.setBorder(javax.swing.BorderFactory.createEtchedBorder());
        DBjToolBar.setFloatable(false);
        DBjToolBar.setRollover(true);

        AddjButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/netbeans/modules/languages/pl_sql/editor/resources/add.gif"))); // NOI18N
        org.openide.awt.Mnemonics.setLocalizedText(AddjButton, org.openide.util.NbBundle.getMessage(OracleTopComponent.class, "OracleTopComponent.AddjButton.text")); // NOI18N
        AddjButton.setFocusable(false);
        AddjButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        AddjButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        DBjToolBar.add(AddjButton);

        DeletejButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/netbeans/modules/languages/pl_sql/editor/resources/subtract.gif"))); // NOI18N
        org.openide.awt.Mnemonics.setLocalizedText(DeletejButton, org.openide.util.NbBundle.getMessage(OracleTopComponent.class, "OracleTopComponent.DeletejButton.text")); // NOI18N
        DeletejButton.setFocusable(false);
        DeletejButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        DeletejButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        DBjToolBar.add(DeletejButton);

        RefreshjButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/netbeans/modules/languages/pl_sql/editor/resources/reload.gif"))); // NOI18N
        org.openide.awt.Mnemonics.setLocalizedText(RefreshjButton, org.openide.util.NbBundle.getMessage(OracleTopComponent.class, "OracleTopComponent.RefreshjButton.text")); // NOI18N
        RefreshjButton.setFocusable(false);
        RefreshjButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        RefreshjButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        DBjToolBar.add(RefreshjButton);

        BGroup.add(DBAjToggleButton);
        DBAjToggleButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/netbeans/modules/languages/pl_sql/editor/resources/mydba.gif"))); // NOI18N
        org.openide.awt.Mnemonics.setLocalizedText(DBAjToggleButton, org.openide.util.NbBundle.getMessage(OracleTopComponent.class, "OracleTopComponent.DBAjToggleButton.text")); // NOI18N
        DBAjToggleButton.setFocusable(false);
        DBAjToggleButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        DBAjToggleButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        DBjToolBar.add(DBAjToggleButton);

        BGroup.add(AlljToggleButton);
        AlljToggleButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/netbeans/modules/languages/pl_sql/editor/resources/myall.gif"))); // NOI18N
        org.openide.awt.Mnemonics.setLocalizedText(AlljToggleButton, org.openide.util.NbBundle.getMessage(OracleTopComponent.class, "OracleTopComponent.AlljToggleButton.text")); // NOI18N
        AlljToggleButton.setFocusable(false);
        AlljToggleButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        AlljToggleButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        DBjToolBar.add(AlljToggleButton);

        BGroup.add(UserjToggleButton);
        UserjToggleButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/netbeans/modules/languages/pl_sql/editor/resources/myuser.gif"))); // NOI18N
        UserjToggleButton.setSelected(true);
        org.openide.awt.Mnemonics.setLocalizedText(UserjToggleButton, org.openide.util.NbBundle.getMessage(OracleTopComponent.class, "OracleTopComponent.UserjToggleButton.text")); // NOI18N
        UserjToggleButton.setFocusable(false);
        UserjToggleButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        UserjToggleButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        DBjToolBar.add(UserjToggleButton);

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 0;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
        add(DBjToolBar, gridBagConstraints);

        DBView.setBorder(null);
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 1;
        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
        gridBagConstraints.weightx = 100.0;
        gridBagConstraints.weighty = 100.0;
        add(DBView, gridBagConstraints);
    }// </editor-fold>//GEN-END:initComponents
    private ButtonGroup BGroup = new ButtonGroup();
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton AddjButton;
    private javax.swing.JToggleButton AlljToggleButton;
    private javax.swing.JToggleButton DBAjToggleButton;
    private javax.swing.JScrollPane DBView;
    private javax.swing.JToolBar DBjToolBar;
    private javax.swing.JButton DeletejButton;
    private javax.swing.JButton RefreshjButton;
    private javax.swing.JToggleButton UserjToggleButton;
    // End of variables declaration//GEN-END:variables

    /**
     * Gets default instance. Do not use directly: reserved for *.settings files only,
     * i.e. deserialization routines; otherwise you could get a non-deserialized instance.
     * To obtain the singleton instance, use {@link findInstance}.
     */
    public static synchronized OracleTopComponent getDefault() {
        if (instance == null) {
            instance = new OracleTopComponent();
        }
        return instance;
    }

    /**
     * Obtain the OracleTopComponent instance. Never call {@link #getDefault} directly!
     */
    public static synchronized OracleTopComponent findInstance() {
        TopComponent win = WindowManager.getDefault().findTopComponent(PREFERRED_ID);
        if (win == null) {
            Logger.getLogger(OracleTopComponent.class.getName()).warning(
                    NbBundle.getMessage(Utils.getCommonClass(), "LBL_OracleTopComponentWarning1", PREFERRED_ID));
            return getDefault();
        }
        if (win instanceof OracleTopComponent) {
            return (OracleTopComponent) win;
        }
        Logger.getLogger(OracleTopComponent.class.getName()).warning(
                NbBundle.getMessage(Utils.getCommonClass(), "LBL_OracleTopComponentWarning2", PREFERRED_ID));
        return getDefault();
    }

    @Override
    public int getPersistenceType() {
        return TopComponent.PERSISTENCE_ALWAYS;
    }

    @Override
    public void componentOpened() {
    }

    @Override
    public void componentClosed() {
    }

    /** replaces this in object stream */
    @Override
    public Object writeReplace() {
        return new ResolvableHelper();
    }

    @Override
    protected String preferredID() {
        return PREFERRED_ID;
    }

    public HelpCtx getHelpCtx() {
        return new HelpCtx(this.helpCtx);
    }

    final static class ResolvableHelper implements Serializable {

        private static final long serialVersionUID = 1L;

        public Object readResolve() {
            return OracleTopComponent.getDefault();
        }
    }
}
TOP

Related Classes of org.netbeans.modules.languages.pl_sql.editor.OracleTopComponent$ResolvableHelper

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.